#ifndef __TYPEDEFS_H__
#define __TYPEDEFS_H__

typedef unsigned __int16 word ;
/* typedef __int8 byte ; */
enum generic {data_transfer,arith_and_logical,logical,branch,control};
enum directives {org,begin,equ,fill,setbyte,setword};
enum regs{a=0,b=2,c=4,d=8,e=16,h=32,l=64,sp=128,psw=256,m=512};

enum specific {
        aci,
        adc,
        add,
        adi,
        ana,
        ani,
        cpi,
        cmp,
        call,
        cma,
        cmc,
        daa,
        in,
        ori,
        out,
        sbi,
        sui,
        xri,
        rst,
        ora,
        sbb,
        sub,
        xra,
        pop,
        push,
        jmp,
        shld,
        sta,
        di,
        ei,
        hlt,
        pchl,
        ral,
        rar,
        rrc,
        ret,
        rim,
        sim,
        sphl,
        xchg,
        xthl,
        nop,
        lxi,
        stax,
        inx,
        inr,
        dcr,
        mvi,
        rlc,
        invalid,
        dad,
        ldax,
        dcx,
        mov,
        lhld,
        lda,
        stc,
        jc,
        jnc,
        jp,
        jm,
        jpe,
        jpo,
        jz,
        jnz,
        rc,
        rnc,
        rp,
        rm,
        rpe,
        rpo,
        rz,
        rnz,
        cc,
        cnc,
        cp,
        cm,
        cpe,
        cpo,
        cz,
        cnz,

};



enum ColorIndices
{
	//	Base colors
	COLORINDEX_WHITESPACE,
	COLORINDEX_BKGND,
	COLORINDEX_NORMALTEXT,
	COLORINDEX_SELMARGIN,
	COLORINDEX_SELBKGND,
	COLORINDEX_SELTEXT,
	//	Syntax colors
	COLORINDEX_KEYWORD,
	COLORINDEX_COMMENT,
	COLORINDEX_NUMBER,
	COLORINDEX_OPERATOR,      // [JRT]:
	COLORINDEX_STRING,
	COLORINDEX_PREPROCESSOR,
	//	Compiler/debugger colors
	COLORINDEX_ERRORBKGND,
	COLORINDEX_ERRORTEXT,
	COLORINDEX_EXECUTIONBKGND,
	COLORINDEX_EXECUTIONTEXT,
	COLORINDEX_BREAKPOINTBKGND,
	COLORINDEX_BREAKPOINTTEXT
	//	...
	//	Expandable: custom elements are allowed.
};

#endif